package com.gscitysfy.cus.drain.modules.pipe.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gscitysfy.cus.drain.modules.common.entity.DrainInspectionMnFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author admin
 * @since 2022-11-15 10:50:56
 */
@Getter
@Setter
@TableName("drain_pipe_network_flaw")
public class DrainPipeNetworkFlaw implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private List<DrainInspectionMnFile> fileList;


    /**
     * 管网编号
     */
    @TableField(exist = false)
    private String cmPipeNo;


    /**
     * 当前页
     */
    @TableField(exist = false)
    private int current;

    /**
     * 每页数量
     */
    @TableField(exist = false)
    private int size;
    /**
     * 主键id
     */
    @TableId
    @Schema(name = "cmKid", description = "主键id")
    private Long cmKid;

    /**
     * 关联管网id
     */
    @Schema(name = "cmPipeId", description = "关联管网id")
    private Long cmPipeId;

    /**
     * 管线编号		
     */
    @Schema(name = "cmPipeLine", description = "管线编号")
    private String cmPipeLine;

    /**
     * 缺陷编号		
     */
    @Schema(name = "cmFlawNo", description = "缺陷编号")
    private String cmFlawNo;

    /**
     * 缺陷类别		
     */
    @Schema(name = "cmFlawType", description = "缺陷类别")
    private String cmFlawType;

    /**
     * 缺陷名称
     */
    @Schema(name = "cmFlawName", description = "缺陷名称")
    private String cmFlawName;

    /**
     * 缺陷等级		
     */
    @Schema(name = "cmFlawLevel", description = "缺陷等级")
    private String cmFlawLevel;

    /**
     * 缺陷位置		
     */
    @Schema(name = "cmFlawPlace", description = "缺陷位置")
    private String cmFlawPlace;

    /**
     * 检测时间		
     */
    @Schema(name = "cmFlawTime", description = "检测时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmFlawTime;

    private String cmCreator;

    private String cmModifier;

    private String cmOrgflag;

    private Long cmRegflag;

    private String cmTenantid;

    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmAddtime;

    @TableField(fill = FieldFill.UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date cmUptime;

    private Integer cmVersion;

    private Boolean cmUsable;

    /**
     * 经度
     */
    @Schema(name = "cmFlawLng", description = "经度")
    private String cmFlawLng;

    /**
     * 纬度
     */
    @Schema(name = "cmFlawLat", description = "纬度")
    private String cmFlawLat;

    /**
     * 录像
     */
    @Schema(name = "cmFileVideoId", description = "录像")
    private String cmFileVideoId;

    /**
     * 图片
     */
    @Schema(name = "cmFileImgId", description = "图片")
    private String cmFileImgId;


    /**
     * 上传报告ID
     */
    @Schema(name = "cmFileReportId", description = "上传报告ID")
    private String cmFileReportId;

}
